---
layout: layouts/base.njk
---
<div class="o-layout__sidebar"></div>
<div class="o-layout__main o-layout-typography">
	<h1 id="#reporting-a-bug">Reporting a bug</h1>

	<h2 id="where-to-find-known-issues">Where to Find Known Issues</h2>
	<p>
		We are using <a href="https://github.com/Financial-Times/polyfill-service/issues" target="_self" rel="nofollow noopener">GitHub Issues</a>
		for tracking any bugs. Before filing a new bug, please try to make sure a GitHub issue does not already exist for it.
	</p>

	<h2 id="security-bugs">Security Bugs</h2>
	<p>
		If you have a security question or issue to report, please email origami.support@ft.com, please do not file
		public issues for any security issues which are sensitive such as a stored cross-site-scripting vulnerability.
	</p>

	<h2 id="reporting-new-issues">Reporting New Issues</h2>
	<p>
		The sections below outline some common scenarios and how to help create good bug reports for them.
	</p>

	<h3 id="the-polyfill-bundle-is-causing-an-error-in-your-app">The polyfill bundle is causing an error in your app</h3>
	<p>
		You've got an error in your website that you've tracked down to the code you're loading from the polyfill service.
	</p>
	<p>
		The best way to get your bug fixed is to provide a reduced test case. We ask for a reduced test case because occassionally
		the problem is not from polyfill.io but from the host website's code.
	</p>
	<p>
		Raise a new issue on our <a href="https://github.com/Financial-Times/polyfill-service/issues" target="_self" rel="nofollow noopener">issue tracker</a>, and include:
	</p>
	<ul>
		<li>
			A description of the problem. I.E what you expected to happen, and what actually did happen.
		</li>
		<li>
			A link to your reduced test case using an online tool like <a href="https://jsbin.com/?html,js" target="_self" rel="nofollow noopener">JSBin</a>,
			which loads only the polyfill.io script, and then includes the least amount of code required to trigger the problem. Disable any browser plugins
			when you are testing, this will help you be sure that you are only running the code in your reduced test case.
		</li>
		<li>
			The exact name and version number of the browser that the problem occurs within.
		</li>
		<li>
			If relevant, a screenshot of the console output or of the problem.
		</li>
	</ul>

	<h3 id="a-polyfill-is-not-correctlycompletely-emulating-the-missing-feature">
		A polyfill is not correctly/completely emulating the missing feature
	</h3>
	<p>You've found a polyfill which you believe is not working correctly.</p>
	<p>
		The best way to get your bug fixed is to provide a reduced test case. We ask for a reduced test case because
		occassionally the problem is not from polyfill.io but from the host website's code.
	</p>
	<p>
		Raise a new issue on our <a href="https://github.com/Financial-Times/polyfill-service/issues" target="_self" rel="nofollow noopener">issue tracker</a>, and include:
	</p>
	<ul>
		<li>
			A description of the problem. I.E what you expected to happen, and what actually did happen.
		</li>
		<li>
			A link to the specification documentation that defines the behaviour that is missing in the polyfill. I.E.
			<a href="https://tc39.github.io/ecma262/" target="_self" rel="nofollow noopener">ECMA-262</a> and
			<a href="https://spec.whatwg.org/" target="_self" rel="nofollow noopener">WHATWG</a>.
		</li>
		<li>
			A link to your reduced test case using an online tool like <a href="https://jsbin.com/?html,js" target="_self" rel="nofollow noopener">JSBin</a>,
			which loads only the polyfill.io script, and then includes the least amount of code required to trigger the	problem.
			Disable any browser plugins when you are testing, this will help you be sure that you are only running the code in your reduced test case.
		</li>
		<li>
			The exact name and version number of the browser that the problem occurs within.
		</li>
		<li>
			If relevant, a screenshot of the console output or of the problem.
		</li>
		<li>
			If a browser exists which has the feature natively ans does not have the same problem when running your reduced
			test case, a screenshot of the browser and the exact name and version number.
		</li>
	</ul>

	<h3 id="a-particular-polyfill-is-being-served-to-a-browser-that-does-not-require-the-polyfill">
		A particular polyfill is being served to a browser that does not require the polyfill
	</h3>
	<p>
		You've found that a browser is being served a polyfill for a feature that it does not need.
	</p>
	<p>
		Raise a new issue on our <a href="https://github.com/Financial-Times/polyfill-service/issues" target="_self" rel="nofollow noopener">issue tracker</a>,
		and include:
	</p>
	<ul>
		<li>
			A link to reliable sources of browser support information such as
			<a href="https://developer.mozilla.org/" target="_self" rel="nofollow noopener">MDN</a>,
			<a href="https://caniuse.com/" target="_self" rel="nofollow noopener">Can I Use</a> and
			<a href="https://kangax.github.io/compat-table/" target="_self" rel="nofollow noopener">Kangax's compatability table</a>
			which shows that the browser should support the feature.
		</li>
		<li>
			An explanation of how you have tested support of the feature in the browser. Screenshots of the browser using
			the feature is an excellent way of showing support of the feature.
		</li>
	</ul>
</div>
